<?php 

// 核心文件
// 公共目录
define('COMMON_PATH', './Xbsphp/Common');
//资源目录
define('LIB_PATH', './Xbsphp/Lib');
//第三方扩展
define('VENDOR_PATH', './Xbsphp/Vendor');
//定义核心目录
define('XBS_PATH', './Xbsphp/Xbs');
//引入全局函数
include COMMON_PATH.'/function.php';

// 判断是否path_info模式，获取 m(模块) c(控制器) a(操作)
if(isset($_SERVER['PATH_INFO'])){

	$arr = explode('/', trim($_SERVER['PATH_INFO'],'/'));

	$module = isset($arr[0])?$arr[0]:C("DB_MODULE");

	$controller = isset($arr[1])?$arr[1]:C("DB_CONTROLLER");

	$action = isset($arr[2])?$arr[2]:C("DB_ACTION");

}else{
	$module = isset($_GET['m']) ? ucfirst(strtolower($_GET['m'])) :C("DB_MODULE");

	$controller = isset($_GET['c']) ? ucfirst(strtolower($_GET['c'])) :C("DB_CONTROLLER");

	$action = isset($_GET['a']) ? ucfirst(strtolower($_GET['a'])) :C("DB_ACTION");
}

// 定义常量
define('MODULE_NAME', $module);
define('CONTROLLERLE_NAME', $controller);
define('ACTION_NAME', $action);


define('MODULE_PATH', APP_PATH."/".$module);
define('CONTROLLERLE_PATH', MODULE_PATH."/Controller");
define('VIEW_PATH', MODULE_PATH."/View");
define('MODEL_PATH', MODULE_PATH."/Model");

// var_dump(MODULE_PATH,CONTROLLERLE_PATH);
//魔术方法，自动加载类
function __autoload($classname)
{	//组可能存在的路径
	$paths = array(
		CONTROLLERLE_PATH."/".$classname.".class.php",
		XBS_PATH."/".$classname.".class.php",
		LIB_PATH."/".$classname.".class.php",
		MODEL_PATH."/".$classname.".class.php",
		);
	// 循环判断文件是否存在，存在就加载进来
	foreach ($paths as $path) {
		if(file_exists($path)){
			include $path;
		}
	}
}

// 组控制器名
$controller = $controller."Controller";
//实例化控制器
$obj = new $controller();
//执行里面的方法
$obj->$action();

// var_dump($module,$controller,$action);










 ?>